<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>PixSort Studio</title>
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
  <link rel="stylesheet" href="./style.css">
  <script src="./script.js" type="text/javascript"></script>
</head>

<body>

  <div class="jumbotron">
    <div class="container">
      <h1 class="display-4">Welcome to PixSort Studio</h1>
      <p class="lead">Explore common sorting algorithms using images as the base.</p>
    </div>
  </div>

  <div class="container">
    <div class="row">
      <div class="col-md-6">
        <h2>Original</h2>
        <img id="original-image" style="display: none;"></img>
        <canvas id="canvas"></canvas>
      </div>
      <div class="col-md-6">
        <h2>Sorted</h2>
        <canvas id="sorting"></canvas>
      </div>
    </div>

    <div class="row mt-5">
      <div class="col-md-6">
        <div class="form-group">
          <label for="sorting-algorithm">Choose Sorting Algorithm:</label>
          <select class="form-control" id="sorting-algorithm">
            <option value="bubble">Bubble Sort</option>
            <option value="selection">Selection Sort</option>
            <option value="insertion">Insertion Sort</option>
            <option value="merge">Merge Sort</option>
            <option value="quick" selected>Quick Sort</option>
          </select>
        </div>
      </div>
      <div class="col-md-6">
        <div class="form-group">
          <label for="image" class="custom-file-label">Choose an Image:</label>
          <input type="file" id="image" class="custom-file-input" accept=".png, .jpg, .jpeg, image/*">
        </div>
      </div>
    </div>
  </div>

  <hr>

  <div class="container">
    <h3>Notes:</h3>
    <ul>
      <li>The speed isn't necessarily true to the actual algorithm speed since some had to be modified to run in a loop
        with updates in between.</li>
      <li>Please wait for one operation to finish. It might take some time in few algorithms</li>
      <li>Merge sort might hang the browser for a bit when first run since it has to create a stack to be used later on.
      </li>
    </ul>
  </div>

  <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.3/dist/umd/popper.min.js"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>

</html>